Single user detection base station

ABSTRACT

A code division multiple access base station is used in receiving a plurality of data signals over a shared spectrum. Each received data signal experiences a similar channel response. A combined signal of the received data signals is received over a shared spectrum. The combined signal is sampled at a multiple of the chip rate. A channel response is estimated. A first element of a spread data vector is determined using the combined signal samples and the estimated channel response. A factor from the first element determination is used to determine remaining elements of the spread data vector. Data of the data signals is estimated using the determined elements of the spread data vector.

[0001] This application is a continuation of U.S. patent applicationSer. No. 10/052,943, Nov. 7, 2001, which claims priority to U.S.Provisional Patent Application No. 60/246,947, filed on Nov. 9, 2000,which applications are incorporated herein by reference.

BACKGROUND

[0002] The invention generally relates to wireless communicationsystems. In particular, the invention relates to data detection in awireless communication system.

[0003]FIG. 1 is an illustration of a wireless communication system 10.The communication system 10 has base stations 12 ₁ to 12 ₅ (12) whichcommunicate with user equipments (UEs) 14 ₁ to 14 ₃ (14). Each basestation 12 has an associated operational area, where it communicateswith UEs 14 in its operational area.

[0004] In some communication systems, such as code division multipleaccess (CDMA) and time division duplex using code division multipleaccess (TDD/CDMA), multiple communications are sent over the samefrequency spectrum. These communications are differentiated by theirchannelization codes. To more efficiently use the frequency spectrum,TDD/CDMA communication systems use repeating frames divided into timeslots for communication. A communication sent in such a system will haveone or multiple associated codes and time slots assigned to it. The useof one code in one time slot is referred to as a resource unit.

[0005] Since multiple communications may be sent in the same frequencyspectrum and at the same time, a receiver in such a system mustdistinguish between the multiple communications. One approach todetecting such signals is multiuser detection. In multiuser detection,signals associated with all the UEs 14, users, are detectedsimultaneously. Approaches for implementing multiuser detection includeblock linear equalization based joint detection (BLE-JD) using aCholesky or an approximate Cholesky decomposition. These approaches havea high complexity. The high complexity leads to increased powerconsumption, which at the UE 14 ₁ results in reduced battery life.Accordingly, it is desirable to have alternate approaches to detectingreceived data.

SUMMARY

[0006] A code division multiple access base station is used in receivinga plurality of data signals over a shared spectrum. Each received datasignal experiences a similar channel response. A combined signal of thereceived data signals is received over a shared spectrum. The combinedsignal is sampled at a multiple of the chip rate. A channel response isestimated. A first element of a spread data vector is determined usingthe combined signal samples and the estimated channel response. A factorfrom the first element determination is used to determine remainingelements of the spread data vector. Data of the data signals isestimated using the determined elements of the spread data vector.

BRIEF DESCRIPTION OF THE DRAWING(S)

[0007]FIG. 1 is a wireless communication system.

[0008]FIG. 2 is a simplified transmitter and a single user detectionreceiver.

[0009]FIG. 3 is an illustration of a communication burst.

[0010]FIG. 4 is a flow chart of an extended forward substitutionapproach to single user detection (SUD).

[0011]FIG. 5 is a flow chart of an approximate banded Cholesky approachto SUD.

[0012]FIG. 6 is a flow chart of a Toeplitz approach to SUD.

[0013]FIG. 7 is a flow chart of a fast fourier transform (FFT) approachapplied to the channel correlation matrix for SUD.

[0014]FIG. 8 is a flow chart of a EFT approach to SUD using effectivecombining.

[0015]FIG. 9 is a flow chart of a FFT approach to SUD using zeropadding.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

[0016]FIG. 2 illustrates a simplified transmitter 26 and receiver 28using single user detection (SUD) in a TDD/CDMA communication system,although the single user detection approaches are applicable to othersystems, such as frequency division duplex (FDD) CDMA. In a typicalsystem, a transmitter 26 is in each UE 14 and multiple transmittingcircuits 26 sending multiple communications are in each base station 12.The SUD receiver 28 may be at a base station 12, UEs 14 or both. SUD istypically used to detect data in a single or multicode transmission froma particular transmitter. When all the signals are sent from the sametransmitter, each of the individual channel code signals in themulticode transmission experience the same channel impulse response. SUDis particularly useful in the downlink, where all transmissionsoriginate from a base station antenna or antenna array. It is alsouseful in the uplink, where a single user monopolizes a timeslot with asingle code or multicode transmission.

[0017] The transmitter 26 sends data over a wireless radio channel 30. Adata generator 32 in the transmitter 26 generates data to becommunicated to the receiver 28. A modulation/spreading sequenceinsertion device 34 spreads the data and makes the spread reference datatime-multiplexed with a midamble training sequence in the appropriateassigned time slot and codes for spreading the data, producing acommunication burst or bursts.

[0018] A typical communication burst 16 has a midamble 20, a guardperiod 18 and two data bursts 22, 24, as shown in FIG. 3. The midamble20 separates the two data fields 22, 24 and the guard period 18separates the communication bursts to allow for the difference inarrival times of bursts transmitted from different transmitters 26. Thetwo data bursts 22, 24 contain the communication burst's data.

[0019] The communication burst(s) are modulated by a modulator 36 toradio frequency (RF). An antenna 38 radiates the RF signal through thewireless radio channel 30 to an antenna 40 of the receiver 28. The typeof modulation used for the transmitted communication can be any of thoseknown to those skilled in the art, such as quadrature phase shift keying(QPSK) or M-ary quadrature amplitude modulation (QAM).

[0020] The antenna 40 of the receiver 28 receives various radiofrequency signals. The received signals are demodulated by a demodulator42 to produce a baseband signal. The baseband signal is sampled by asampling device 43, such as one or multiple analog to digitalconverters, at the chip rate or a multiple of the chip rate of thetransmitted bursts. The samples are processed, such as by a channelestimation device 44 and a SUD device 46, in the time slot and with theappropriate codes assigned to the received bursts. The channelestimation device 44 uses the midamble training sequence component inthe baseband samples to provide channel information, such as channelimpulse responses. The channel impulse responses can be viewed as amatrix, H. The channel information is used by the SUD device 46 toestimate the transmitted data of the received communication bursts assoft symbols.

[0021] The SUD device 46 uses the channel information provided by thechannel estimation device 44 and the known spreading codes used by thetransmitter 26 to estimate the data of the desired receivedcommunication burst(s). Although SUD is explained using the thirdgeneration partnership project (3GPP) universal terrestrial radio access(UTRA) TDD system as the underlying communication system, it isapplicable to other systems. That system is a direct sequence widebandCDMA (W-CDMA) system, where the uplink and downlink transmissions areconfined to mutually exclusive time slots.

[0022] The receiver 28 receives using its antenna 40 a total of K burststhat arrive simultaneously, 48. The K bursts are superimposed on top ofeach other in one observation interval. For the 3GPP UTRA TDD system,each data field of a time slot corresponds to one observation interval.

[0023] For one observation interval, the data detection problem isviewed as per Equation 1.

r=H·d+n   Equation 1

[0024] r is the received samples. H is the channel response matrix. d isthe spread data vector. The spread data matrix contains the datatransmitted in each channel mixed with that channel's spreading code.

[0025] When the received signal is oversampled, multiple samples of eachtransmitted chip are produced resulting in received vectors, r₁, . . . ,r_(N), (48). Similarly, the channel estimation device 44 determines thechannel responses, H₁, . . . , H_(N), corresponding to the receivedvectors, r₁, . . . , r_(N), (50). For twice the chip rate, Equation 1becomes Equation 2. $\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} \\H_{2}\end{bmatrix} \cdot d} + n}} & {{Equation}\quad 2}\end{matrix}$

[0026] r₁ is the even samples (at the chip rate) and r₂ is the oddsamples (offset half a chip from the r₁ samples). H₁ is the channelresponse for the even samples and H₂ is the channel response for the oddsamples.

[0027] Equation 1 becomes Equation 3 for a multiple N of the chip rate.$\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2} \\\vdots \\r_{N}\end{bmatrix} = {{\begin{bmatrix}H_{1} \\H_{2} \\\vdots \\H_{N}\end{bmatrix} \cdot d} + n}} & {{Equation}\quad 3}\end{matrix}$

[0028] r₁,r₂. . . r_(N) are the multiple of the chip rate samples. Eachoffset by ¹/_(N) of a chip. H₁, H₂ . . . H_(N) are the correspondingchannel responses. Although the following discussion focuses on areceiver sampling at twice the chip rate, the same approaches areapplicable to any multiple of the chip rate.

[0029] For twice the chip rate sampling, matrices H₁ and H₂ are(N_(S)+W−1) by N_(S) in size. N_(S) is the number of spread chipstransmitted in the observation interval and W is the length of thechannel impulse response, such as 57 chips in length. Since the receivedsignal has N_(S) spread chips, the length of r₁ and r₂ is N_(S).Equation 2 is rewritten as Equation 4. $\begin{matrix}{\left. \begin{matrix}{r_{1}(0)} \\{r_{1}(1)} \\| \\{r_{1}\left( {W - 1} \right)} \\\quad \\{r_{1}\left( {N_{S} - 1} \right)} \\{--{-- -}} \\\quad \\{r_{2}(0)} \\{r_{2}(1)} \\| \\{r_{1}\left( {W - 1} \right)} \\\quad \\{r_{1}\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack = {\quad{{\begin{bmatrix}{h_{1}(0)} & 0 & 0 & -- & -- & -- & -- & -- \\{h_{1}(1)} & {h_{1}(0)} & 0 & -- & \quad & \quad & \quad & \quad \\| & | & \quad & \quad & \quad & \quad & \quad & \quad \\{h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & -- & -- & {h_{1}(1)} & {h_{1}(0)} & 0 & 0 \\| & | & \quad & \quad & | & | & | & | \\0 & 0 & -- & {h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & -- & {h_{1}(1)} & {h_{1}(0)} \\-- & -- & -- & -- & -- & -- & -- & -- \\{h_{2}(0)} & 0 & 0 & -- & -- & -- & -- & -- \\{h_{2}(1)} & {h_{2}(0)} & 0 & -- & \quad & \quad & \quad & \quad \\| & | & \quad & \quad & \quad & \quad & \quad & \quad \\{h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & -- & -- & {h_{2}(1)} & {h_{2}(0)} & 0 & 0 \\| & | & \quad & \quad & | & | & | & | \\0 & 0 & -- & {h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & -- & {h_{2}(1)} & {h_{2}(0)} \\-- & -- & -- & -- & -- & -- & -- & --\end{bmatrix} \cdot d} + n}}} & {{Equation}\quad 4}\end{matrix}$

[0030] r₁(i), r₂(i), h₁(i) and h₂(i) is the i^(th) element of thecorresponding vector matrix r₁, r₂, H₁ and H₂, respectively.

[0031] One approach to determine the spread data vector is extendedforward substitution, which is explained in conjunction with FIG. 4. Forextended forward substitution, the received data vector is rearranged sothat each even sample is followed by its corresponding odd sample. Asimilar rearrangement is performed on the channel response matrix, asshown in Equation 5a. $\begin{matrix}{\left. \begin{matrix}{r_{1}(0)} \\{r_{2}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\| \\{r_{1}\left( {W - 1} \right)} \\{r_{2}\left( {W - 1} \right)} \\| \\{r_{1}\left( {N_{S} - 1} \right)} \\{r_{2}\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack = {\quad{\begin{bmatrix}{h_{1}(0)} & 0 & 0 & -- & \quad & \quad & \quad & \quad \\{h_{2}(0)} & 0 & 0 & -- & \quad & \quad & \quad & \quad \\{h_{1}(1)} & {h_{1}(0)} & 0 & -- & \quad & \quad & \quad & \quad \\{h_{2}(1)} & {h_{2}(0)} & 0 & -- & \quad & \quad & \quad & \quad \\| & | & | & -- & \quad & \quad & \quad & \quad \\{h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & -- & -- & {h_{1}(1)} & {h_{1}(0)} & 0 & 0 \\{h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & -- & -- & {h_{2}(1)} & {h_{2}(0)} & 0 & 0 \\| & | & \quad & \quad & | & | & | & | \\0 & 0 & -- & {h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & -- & {h_{1}(1)} & {h_{1}(0)} \\0 & 0 & -- & {h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & -- & {h_{2}(1)} & {h_{2}(0)}\end{bmatrix} \cdot {\quad{\begin{bmatrix}{d(0)} \\{d(1)} \\| \\| \\{d\left( {N_{S} - 1} \right)}\end{bmatrix} + n}}}}} & \text{Equation 5a}\end{matrix}$

[0032] Similarly, for an N-multiple of the chip rate sampling,, Equation5b is the arrangement. $\begin{matrix}{\left. \begin{matrix}{r_{1}(0)} \\{r_{2}(0)} \\| \\{r_{N}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\| \\{r_{N}(1)} \\| \\{r_{1}\left( {N_{S} - 1} \right)} \\{r_{2}\left( {N_{S} - 1} \right)} \\| \\{r_{N}\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack = {\begin{bmatrix}{h_{1}(0)} & 0 & -- & 0 & 0 \\{h_{2}(0)} & 0 & -- & 0 & 0 \\| & | & -- & | & | \\{h_{N}(0)} & 0 & -- & 0 & 0 \\{h_{1}(1)} & {h_{1}(0)} & -- & 0 & 0 \\{h_{2}(1)} & {h_{2}(0)} & -- & 0 & 0 \\| & | & -- & | & | \\{h_{N}(1)} & {h_{N}(0)} & -- & 0 & 0 \\| & | & -- & | & | \\0 & 0 & -- & {h_{1}(1)} & {h_{1}(0)} \\0 & 0 & -- & {h_{2}(1)} & {h_{2}(0)} \\| & | & -- & | & | \\0 & 0 & -- & {h_{N}(1)} & {h_{N}(0)}\end{bmatrix} \cdot {\quad{\begin{bmatrix}{d(0)} \\{d(1)} \\| \\| \\{d\left( {N_{S} - 1} \right)}\end{bmatrix} + n}}}} & \text{Equation 5b}\end{matrix}$

[0033] d(i) is the i^(th) element of the spread data vector, d. Thelength of the spread data vector is N_(S). Using extended forwardsubstitution, the zero-forcing solution to determine d(0), d (0), is perEquations 6a and 7a, (52). $\begin{matrix}{{\begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)}\end{bmatrix} \cdot {d(0)}} = \begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)}\end{bmatrix}} & \text{Equation 6a} \\{{\hat{d}(0)} = {{\left\{ {\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack \begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack}\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)}\end{bmatrix}}} & \text{Equation 7a}\end{matrix}$

[0034] Equation 6a is the general formula for d(0). Equation 7a is thezero forcing solution for d (0). Similarly, for N-multiple of the chiprate, Equations 6b and 7b are used. $\begin{matrix}{{{\begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)} \\| \\{h_{N}(0)}\end{bmatrix}{d(0)}} = \begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)} \\| \\{r_{N}(0)}\end{bmatrix}}\quad} & \text{Equation 6b} \\{{\hat{d}(0)} = {{\left\{ {\left\lbrack {{h_{1}(0)}\quad \ldots \quad {h_{N}(0)}} \right\rbrack \begin{bmatrix}{h_{1}(0)} \\\vdots \\{h_{N}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}\quad \ldots \quad {h_{N}(0)}} \right\rbrack}\begin{bmatrix}{r_{1}(0)} \\\vdots \\{r_{N}(0)}\end{bmatrix}}} & \text{Equation 7b}\end{matrix}$

[0035] In solving Equation 7a and 7b, for later use V^(H) is determinedas illustrated by Equation 8 for the v^(H) for Equation 7a and stored,(52). $\begin{matrix}{v^{H} = {\left\{ {\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack \begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack}} & {{Equation}\quad 8}\end{matrix}$

[0036] d (0) is determined using v^(H) per Equation 9. $\begin{matrix}{{\hat{d}(0)} = {v^{H}\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)}\end{bmatrix}}} & {{Equation}\quad 9}\end{matrix}$

[0037] Using the Toplitz structure of the H matrix, the remaining spreaddata elements can be determined sequentially using zero forcing perEquation 10a, (54). $\begin{matrix}{{\hat{d}(i)} = {v^{H}\left\{ {\begin{bmatrix}{r_{1}(i)} \\{r_{2}(i)}\end{bmatrix} - {\begin{bmatrix}{h_{1}(i)} \\{h_{2}(i)}\end{bmatrix}{\hat{d}(0)}} + {\sum\limits_{j = 1}^{i - 1}\quad {{- \begin{bmatrix}{h_{1}(j)} \\{h_{2}(j)}\end{bmatrix}}{\hat{d}\left( {i - j - 1} \right)}}}} \right\}}} & \text{Equation 10a}\end{matrix}$

[0038] For an N-multiple of the chip rate, Equation 10b is used.$\begin{matrix}{{d^{\hat{}}(i)} = {v^{H}\left\{ {\begin{bmatrix}{r_{1}(i)} \\| \\{r_{N}(i)}\end{bmatrix} - {\begin{bmatrix}{h_{1}(i)} \\| \\{h_{N}(i)}\end{bmatrix}{\hat{d}(0)}} - {\sum\limits_{j = 1}^{i - 1}\quad {\begin{bmatrix}{h_{1}(j)} \\| \\{h_{N}(j)}\end{bmatrix} \cdot {d\left( {i - j - 1} \right)}}}} \right.}} & {{Equation}\quad \text{10b}}\end{matrix}$

[0039] After the spread data vector is determined, each communicationburst's data is determined by despreading, such as by mixing the spreaddata vector with each burst's code, (56).

[0040] The complexity in using the extended forward substitutionapproach, excluding despreading, is summarized in Table 1. TABLE 1Calculating v^(H) 4 multiplications & 1 reciprocal Calculating d{circumflex over ( )}(0) 2 multiplications Calculating d {circumflexover ( )}(1) 4 multiplications Calculating each up to d 2multiplications {circumflex over ( )}(W − 1) Calculating each d{circumflex over ( )}(i) 2W + 2 multiplications from d {circumflex over( )}(w) to d {circumflex over ( )}(N₅ − 1) Total Number ofMultiplications 2 N_(S) + (W − 1) · W + 2W . . . (N_(S) − W + 1) TotalNumber of Calculations 2 N_(S) + (W − 1) · W + 2W . . . (N_(S) − W− 1) + 5

[0041] For a TDD burst type II, N_(S) is 1104 and W is 57, solving for dusing extended forward substitution 200 times per second requires99.9016 million real operations per second (MROPS) for twice the chiprate sampling or 49.95 MROPs for chip rate sampling.

[0042] Another approach to estimate data is an approximate bandedCholesky approach, which is explained in conjunction with FIG. 5. Across correlation matrix R is determined so that it is square, (N_(S) byN_(S)), and banded per Equation 11, (58).

R=H ^(H) H   Equation 11

[0043] (·)^(H) indicates the hermetian function. H is of size2(N_(S)+W−1) by N_(S). Equation 11 is rewritten as Equation 12a fortwice the chip rate sampling. $\begin{matrix}{R = {{\left\lbrack {H_{1}^{H}H_{2}^{H}} \right\rbrack \cdot \begin{bmatrix}{H1} \\{H2}\end{bmatrix}} = {{H_{1}^{H}H_{1}} + {H_{2}^{H}H_{2}}}}} & \text{Equation~~12a}\end{matrix}$

[0044] For an N-multiple of the chip rate, Equation 12b is used.$\begin{matrix}{{R = {{\left\lbrack {H_{1}^{H},{{H_{2}^{H}--}H_{N}^{H}}} \right\rbrack \begin{bmatrix}H_{1} \\H_{2} \\| \\H_{N}\end{bmatrix}}\quad {or}}}{R = {\sum\limits_{i = 1}^{N}\quad {H_{i}^{H}H_{i}}}}} & {{Equation}\quad \text{12b}}\end{matrix}$

[0045] Using Equation 12a or 12b, the resulting R is of size N_(S) byN_(S) and banded as illustrated in Equation 13 for twice the chip ratesampling, W=3 and N_(S)=10. $\begin{matrix}{R = \left\lbrack \begin{matrix}R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 & 0 \\R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 \\0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 \\0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 \\0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 \\0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 \\0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} \\0 & 0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} \\0 & 0 & 0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0}\end{matrix}\quad \right\rbrack} & {{Equation}\quad 13}\end{matrix}$

[0046] In general, the bandwidth of R is per Equation 14.

p=W−1   Equation 14

[0047] Using an approximate Cholesky approach, a sub-block of R,R_(sub), of size N_(col) by N_(col) is used. A typical size of R_(sub)is 2W−1 by 2W−1, although other sized matrices may be used. Thesub-block, R_(sub), is decomposed using Cholesky decomposition perEquation 15, (60).

R _(sub) =GG ^(H)   Equation 15

[0048] The Cholesky factor G is of size N_(col) by N_(col). Anillustration of a 5×5 G matrix with W=3 is per Equation 16.$\begin{matrix}{G = \left\lbrack \quad \begin{matrix}G_{11} & 0 & 0 & 0 & 0 \\G_{21} & G_{22} & 0 & 0 & 0 \\G_{31} & G_{32} & G_{33} & 0 & 0 \\0 & G_{42} & G_{43} & G_{44} & 0 \\0 & 0 & G_{53} & G_{54} & G_{55}\end{matrix} \right\rbrack} & {{Equation}\quad 16}\end{matrix}$

[0049] G_(ij) is the element of the G matrix at the i^(th) column andj^(th) row. The G matrix is extended to an N_(S) by N_(S) matrix,G_(full), by right shifting the bottom row of G by one element for eachrow after the last row of G, (62). For N_(S)=10, the illustration ofEquation 16 is expanded per Equation 17, (62). $\begin{matrix}{G_{full} = \left\lbrack \begin{matrix}G_{11} & 0 & \quad & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\G_{21} & G_{22} & 0 & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\G_{31} & G_{32} & G_{33} & 0 & \quad & \quad & \quad & \quad & \quad & \quad \\0 & G_{42} & G_{43} & G_{44} & 0 & \quad & \quad & \quad & \quad & \quad \\\quad & 0 & G_{53} & G_{54} & G_{55} & 0 & \quad & \quad & \quad & \quad \\\quad & \quad & 0 & G_{53} & G_{54} & G_{55} & {0\quad} & \quad & \quad & \quad \\\quad & \quad & \quad & 0 & G_{53} & G_{54} & G_{55} & 0 & \quad & \quad \\\quad & \quad & \quad & \quad & 0 & G_{53} & G_{54} & G_{55} & 0 & \quad \\\quad & \quad & \quad & \quad & \quad & 0 & G_{53} & G_{54} & G_{55} & 0 \\\quad & \quad & \quad & \quad & \quad & \quad & 0 & G_{53} & G_{54} & G_{55}\end{matrix}\quad \right\rbrack} & {{Equation}\quad 17}\end{matrix}$

[0050] The spread data vector is determined using forward and backwardsubstitution, (64). Forward substitution is used to determine y perEquation 18a for twice the chip rate sampling and Equation 18b for amultiple N of the chip rate sampling.

G _(full) y=H ₁ ^(H) r ₁ +H ₂ ^(H) r ₂   Equation 18a

G _(full) y=H ₁ ^(H) r ₁ +H ₂ ^(H) r ₂ +. . . +H _(N) ^(H) r _(N)  Equation 18b

[0051] Backward substitution is subsequently used to solve for thespread data vector per Equation 19.

G _(full) ^(H) d=y   Equation 19

[0052] After the spread data vector, d, is determined, each burst's datais determined by despreading, (66).

[0053] The complexity of approximate Cholesky decomposition, excludingdespreading, for twice the chip rate sampling is per Table 2. TABLE 2Operation Number of Calculations Calculating H^(H)H W(W + 1) CalculatingCholesky Decomposition$\frac{{N_{col}\left( {W - 1} \right)}^{2}}{2} + \frac{3{N_{col}\left( {W - 1} \right)}}{2} - \frac{\left( {W - 1} \right)^{3}}{3} - \left( {W - 1} \right)^{2} - \frac{2\left( {W - 1} \right)}{3}$

Calculating H^(H)r 2N_(S)W Forward Substitution$\left\lbrack {N_{S} - \frac{\left( {W - 1} \right)}{2}} \right\rbrack W$

and the reciprocal of N_(S) real numbers Backward Substitution$\left\lbrack {N_{S} - \frac{\left( {W - 1} \right)}{2}} \right\rbrack W$

and the reciprocal of N_(S) real numbers

[0054] For a TDD burst type II, N_(S) is 1104 and for W is 57,performing approximate banded Cholesky 200 times per second at twice thechip rate requires 272.56 MROPS. By contrast, an exact banded Choleskyapproach requires 906.92 MROPS. For chip rate sampling, the approximatebanded Cholesky approach requires 221.5 MROPS.

[0055] Another approach for data detection uses a Toeplitz approach,(Levinson-Durbin type algorithm), which is explained in conjunction withFIG. 6. The R matrix of Equation 12a and 12b is reproduced here.$\begin{matrix}{R = {{\left\lbrack {H_{1}^{H}H_{2}^{H}} \right\rbrack \cdot \begin{bmatrix}{H1} \\{H2}\end{bmatrix}} = {{H_{1}^{H}H_{1}} + {H_{2}^{H}H_{2}}}}} & {{Equation}\quad \text{12a}}\end{matrix}$

[0056] For an N-multiple of the chip rate, Equation 12b is used.$\begin{matrix}{{R = {{\left\lbrack {H_{1}^{H},{{H_{2}^{H}--}H_{N}^{H}}} \right\rbrack \begin{bmatrix}H_{1} \\H_{2} \\| \\H_{N}\end{bmatrix}}\quad {or}}}\text{}{R = {\sum\limits_{i = 1}^{N}\quad {H_{i}^{H}H_{i}}}}} & {{Equation}\quad \text{12b}}\end{matrix}$

[0057] The R matrix is symmetric and Toeplitz with a bandwidth of p=W−1,(68). A left most upper corner of the R matrix, R(k), being a k by kmatrix is determined as shown in Equation 20. $\begin{matrix}{{R(k)} = \left\lbrack \quad \begin{matrix}R_{0} & R_{1} & \cdots & R_{k - 1} \\R_{1} & R_{0} & \quad & \vdots \\\quad & \quad & ⋰ & \quad \\R_{k - 1} & R_{k - 2} & \cdots & R_{0}\end{matrix}\quad \right\rbrack} & {{Equation}\quad 20}\end{matrix}$

[0058] Additionally, another vector R_(k) is determined using elementsof R, per Equation 21, (72). $\begin{matrix}{R_{k} = {\begin{bmatrix}R_{1} \\R_{2} \\\vdots \\R_{k}\end{bmatrix}.}} & {{Equation}\quad 21}\end{matrix}$

[0059] Bolding indicates a matrix including all elements up to itssubscript. At stage k+1, the system is solved per Equation 22.

R(k+1)d(k+1)=[H ^(H) r]_(k+1)   Equation 22

[0060] [H^(H)r]_(k+1) is the first (k+1) components of H^(H)r. d(k+1)isbroken into a vector d₁(k+1) of length k and a scalar d₂(k+1) as perEquation 23. $\begin{matrix}{{d\left( {k + 1} \right)} = {\begin{bmatrix}{d_{1}\left( {k + 1} \right)} \\{d_{2}\left( {k + 1} \right)}\end{bmatrix}.}} & {{Equation}\quad 23}\end{matrix}$

[0061] The matrix R(k+1) is decomposed as per Equation 24.$\begin{matrix}{{R\left( {k + 1} \right)} = {\begin{bmatrix}{R(k)} & \vdots & {E_{k}R_{k}} \\\cdots & \vdots & \cdots \\{R_{k}^{H}E_{k}} & \vdots & R_{0}\end{bmatrix}.}} & {{Equation}\quad 24}\end{matrix}$

[0062] E_(k) is an exchange matrix. The exchange matrix operates on avector by reversing that vectors elements.

[0063] Using the Yule-Walker equation for linear prediction, Equation 25results, (78). $\begin{matrix}{{\begin{bmatrix}{R\left( {k - 1} \right)} & \vdots & {E_{k - 1}R_{k - 1}} \\\cdots & \vdots & \cdots \\{R_{k - 1}^{H}E_{k - 1}} & \vdots & R_{0}\end{bmatrix}\begin{bmatrix}{y_{1}(k)} \\{y_{2}(k)}\end{bmatrix}} = {- \begin{bmatrix}R_{k - 1} \\R_{k}\end{bmatrix}}} & {{Equation}\quad 25}\end{matrix}$

[0064] Using order recursions, Equations 26, 27 and 28 result.

y ₁(k)=y(k−1)+y ₂(k)E _(k−1) y(k−1)   Equation 26

[0065] $\begin{matrix}{{y_{2}(k)} = {- \frac{\left\lbrack {R_{k} + {R_{k - 1}^{H}E_{k - 1}{y\left( {k - 1} \right)}}} \right\rbrack}{\left\lbrack {1 + {R_{k - 1}^{H}{y\left( {k - 1} \right)}}} \right\rbrack}}} & {{Equation}\quad 27} \\{{y(k)} = \begin{bmatrix}{y_{1}(k)} \\{y_{2}(k)}\end{bmatrix}} & {{Equation}\quad 28}\end{matrix}$

[0066] Using y(k), d(k+1) is determined per Equations 29, 30 and 31,(74).

d ₁(k+1)=d(k)+d ₂(k+1)E _(k) y(k)   Equation 29

[0067] $\begin{matrix}{{d_{2}\left( {k + 1} \right)} = \left\lbrack \frac{\left( {H^{H}r} \right)_{k + 1} - {R_{k}^{H}E_{k}{d(k)}}}{1 + {R_{k}^{H}{y(k)}}} \right\rbrack} & {{Equation}\quad 30} \\{{d\left( {k + 1} \right)} = \begin{bmatrix}{d_{1}\left( {k + 1} \right)} \\{d_{2}\left( {k + 1} \right)}\end{bmatrix}} & {{Equation}\quad 31}\end{matrix}$

[0068] (H^(H)r)_(k+1) is the (k+1)^(th) element of H^(H)r.

[0069] After properly initializing the recursions, the recursions arecomputed for k=1, 2, . . . , N_(S). d(N_(S)) is a solution to Equation32, (74).

Rd=H ^(H) r   Equation 32

[0070] The spread data vector d is despread with the bursts'channelization codes to recover the data, (76).

[0071] The banded structure of R affects the recursions as follows. R(2)and R₂ are per Equation 33. $\begin{matrix}{{{R(2)} = \begin{bmatrix}R_{0} & R_{1} \\R_{1} & R_{0}\end{bmatrix}},{R_{2} = \begin{bmatrix}R_{1} \\R_{2}\end{bmatrix}}} & {{Equation}\quad 33}\end{matrix}$

[0072] The inner product calculations in Equations 27 and 30 require twomultiplications each. To illustrate, the R matrix of Equation 20 for k=6is per Equation 34. $\begin{matrix}{{{R(6)} = \begin{bmatrix}R_{0} & R_{1} & R_{2} & 0 & 0 & 0 \\R_{1} & \quad & \quad & R_{2} & 0 & 0 \\R_{2} & \quad & \quad & \quad & R_{2} & 0 \\0 & R_{2} & \quad & \quad & \quad & R_{2} \\0 & 0 & R_{2} & \quad & \quad & R_{1} \\0 & 0 & 0 & R_{2} & \quad & R_{0}\end{bmatrix}},{R_{6} = \begin{bmatrix}R_{1} \\R_{2} \\0 \\0 \\0 \\0\end{bmatrix}}} & {{Equation}\quad 34}\end{matrix}$

[0073] The number of non-zero elements in the vector R₆ is equal to thebandwidth, p, of the matrix R. When the inner product of R₆ ^(H)E₆y(k)in Equation 27 and the inner product R₆ ^(H)E₆d(k) in Equation 30 arecalculated, only p (and not k) multiplications are required. For a therecursions of Equations 26 and 29, no computational reductions areobtained.

[0074] Table 3 shows the complexity in implementing the Toeplitzapproach. TABLE 3 Calculation # of Calculations MROPS Functions ExecutedOnce Per 1.3224 Burst Calculating H^(H) H Solving Yule-Walker for y$672\text{,}888 \times \frac{100}{10^{6}}$

269.1552 Functions Executed Twice 100.68 Per Burst Calculating H^(H)rSolving R(k + 1)d(k + 1)H^(H)r$672\text{,}888 \times \frac{200}{10^{6}}$

538.3104

[0075] The total MROPs for the Toeplitz approach for a TDD burst type is909.4656 MROPs for twice chip rate sampling and 858.4668 MROPs for chiprate sampling.

[0076] Another approach for data detection uses fast fourier transforms(FFTs), which is explained using FIG. 7. If chip rate sampling is used,the channel matrix H is square except for edge effects. Using acirculant approximation for the H matrix, a FFT of the received vector,r, and the channel vector, H, to obtain the data estimate is used.

[0077] For a multiple of the chip rate sampling, such as twice the chiprate, the H matrix is not square or circulant. However, a submatrix,shown by dotted lines, of the channel correlation matrix R=H^(H) Hmatrix of Equation 13, (84), as shown for Equation 35a is circulant.$\begin{matrix}{R = \begin{bmatrix}R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 & 0 \\\cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \\R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 \\0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 \\0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 \\0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 \\0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 \\0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} \\\cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \\0 & 0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} \\0 & 0 & 0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0}\end{bmatrix}} & \text{Equation 35a}\end{matrix}$

[0078] For an N-multiple of the chip rate sampling, the channelcorrelation matrix is determined per Equation 35b. $\begin{matrix}{R = {{\left\lbrack {H_{1}^{H}{H_{2}^{H}--}H_{N}^{H}} \right\rbrack \begin{bmatrix}H_{1} \\H_{2} \\| \\H_{N}\end{bmatrix}} = {\sum\limits_{i = 1}^{N}\quad {H_{i}^{H}H_{i}}}}} & \text{Equation 35b}\end{matrix}$

[0079] By approximating the R matrix as being circulant, Equations 36,37 and 38 are used.

R ^(H) =DΔD ^(H)   Equation 36

[0080] $\begin{matrix}{\hat{d} = {{diag}\left( {D\begin{bmatrix}R_{0} \\R_{1} \\R_{2} \\0 \\\vdots \\0\end{bmatrix}} \right)}} & {{Equation}\quad 37}\end{matrix}$

[0081] (R)₁ is the first column of the R matrix expanded to a diagonalmatrix. Although described using the first column, this approach can bemodified to use any column of the R matrix, (86). However, it ispreferred to use a column having the most non-zero elements of anycolumn, such as R₂, R₁, R₀, R₁, R₂. These columns are typically anycolumn at least W columns from both sides, such as any column betweenand including W and N_(S)−W−1. Equations 38 and 39 are used in azero-forcing equalization approach.

Rd=H ^(H) r   Equation 38

d=R ⁻¹(H ^(H) r)   Equation 39

[0082] Since D is an orthogonal discrete fourier transform (DFT) matrix,Equations 40,41 and 42 result.

D ^(H) D=N _(S) I   Equation 40

D ⁻¹=(1/N _(S))D ^(H)   Equation 41

[0083] $\begin{matrix}{R^{- 1} = {\frac{1}{N_{S}}D^{H}\Delta^{- 1}\frac{1}{N_{S}}D}} & {{Equation}\quad 42}\end{matrix}$

[0084] Accordingly, d can be determined using a fourier transform perEquations 43, 44 and 45a. $\begin{matrix}{R^{- 1} = {\frac{1}{N_{S}^{2}}D^{H}{\Delta^{- 1}\left\lbrack {D\left( {H^{H}r} \right)} \right\rbrack}}} & {{Equation}\quad 43} \\{{D^{H}\hat{d}} = {\frac{1}{N_{S}}{\Delta^{- 1}\left\lbrack {F\left( {H^{H}r} \right)} \right\rbrack}}} & {{Equation}\quad 44} \\{{F\left( \hat{d} \right)} = \frac{F\left( {H^{H}r} \right)}{N_{S}{F\left( (R)_{1} \right)}}} & \text{Equation 45a}\end{matrix}$

[0085] (·)₁ is the first column, although an analogous equation can beused for any column of R. F(·) denotes a fourier transform function.F(H^(H)r) is preferably calculated using FFTs per Equation 45b.

F(H ^(H) r)=N _(c) [F(h ₁)F(r ₁)+. . . +F(h _(N))F(r _(N) )]  Equation45b

[0086] Taking the inverse fourier transform F⁻¹(·), of the result ofEquation 45a produces the spread data vector, (88). The transmitted datacan be recovered by despreading using the appropriate codes, (90).

[0087] The complexity of this FFT approach is shown in Table 4. TABLE 4Functions Executed Once Per Burst Calculation # of Calculations MROPsCalculating H^(H)H 1.3224 F([R]₁) · N_(S)log₂N_(S)$11160 \times \frac{100}{10^{6}}$

4.4640 Functions Executed Twice 38 Per Burst Calculating H^(H)r by FFTCalculating Equation 45 0.8832 F⁻¹(d) · N_(S)log₂N_(S) 8.9280 Total 55MROPS

[0088] The FFT approach is less complex than the other approaches.However, a performance degradation results from the circulantapproximation.

[0089] Another approach to use FFTs to solve for the data vector for amultiple of the chip rate sampling combines the samples by weighing, asexplained using FIG. 8. To illustrate for twice the chip rate sampling,r₁ is the even and r₂ is the odd samples. Each element of r₁, such as afirst element r₁(0), is weighted and combined with a correspondingelement of r₂, such as r₂(0) per Equation 46.

r _(eff)(0)=W ₁ r ₁(0)+W ₂ r ₂(0)   Equation 46

[0090] r_(eff)(0) is the effectively combined element of an effectivelycombined matrix, r_(eff). W₁ and W₂ are weights. For N-times the chiprate sampling, Equation 47 is used.

r _(eff)(0)=W ₁ r ₁(0)+. . . +W _(n) r _(n)(0)   Equation 47

[0091] Analogous weighting of the channel response matrices, H₁ toH_(n), is performed to produce H_(eff), (92). As a result, Equation 3becomes Equation 48.

r _(eff) =H _(eff) d+n   Equation 48

[0092] The resulting system is an N_(S) by N_(S) system of equationsreadily solvable by FFTs per Equation 49, (94). $\begin{matrix}{{F(d)} = \frac{F\left( r_{eff} \right)}{F\left( \left( H_{eff} \right)_{1} \right)}} & {{Equation}\quad 49}\end{matrix}$

[0093] Using the inverse fourier transform, the spread data vector isdetermined. The bursts' data is determined by despreading the spreaddata vector using the bursts' code, (96). Although Equation 49 uses thefirst column of H_(eff), the approach can be modified to use anyrepresentative column of, H_(eff).

[0094] Another approach using FFTs uses zero padding, which is explainedusing FIG. 9. Equation 5 is modified by zero padding the data vector sothat every other element, such as the even elements are zero, (98). Themodified d matrix is d^(˜). The H matrix is also expanded to form H^(˜).H matrix is expanded by repeating each column to the right of thatcolumn and shifting each element down one row and zero padding the topof the shifted column. An illustration of such a system for twice thechip rate sampling, W=3 and N_(S)=4 is per Equation 49a. $\begin{matrix}{\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\{r_{1}(2)} \\{r_{2}(2)} \\{r_{1}(3)} \\{r_{2}(3)}\end{bmatrix} = {\quad{\begin{bmatrix}{h_{1}(0)} & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\{h_{2}(0)} & {h_{1}(0)} & \quad & \quad & \quad & \quad & \quad & \quad \\{h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & \quad & \quad & \quad & \quad & \quad \\{h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & \quad & \quad & \quad & \quad \\{h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & {h_{2}(0)} & \quad & \quad \\{h_{2}(2)} & {h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & {h_{2}(0)} & \quad \\0 & {h_{2}(2)} & {h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & {h_{2}(0)} \\0 & 0 & {h_{2}(2)} & {h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)}\end{bmatrix} \cdot {\quad{\begin{bmatrix}{d(0)} \\0 \\{d(1)} \\0 \\{d(2)} \\0 \\{d(3)} \\0\end{bmatrix} + n}}}}} & \text{Equation 49a}\end{matrix}$

[0095] For an N-multiple of the chip rate, Equation 49b is used as shownfor simplicity for N_(S)=3. $\begin{matrix}{\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)} \\| \\{r_{N}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\| \\{r_{N}(1)} \\{r_{1}(2)} \\{r_{2}(2)} \\| \\{r_{N - 1}(2)} \\{r_{N}(2)}\end{bmatrix} = {{\begin{bmatrix}{h_{1}(0)} & 0 & -- & 0 \\{h_{2}(0)} & {h_{1}(0)} & -- & 0 \\| & | & -- & | \\{h_{N}(0)} & {h_{N - 1}(0)} & -- & 0 \\{h_{1}(1)} & {h_{N}(0)} & -- & 0 \\{h_{2}(1)} & {h_{1}(1)} & -- & 0 \\| & | & -- & | \\{h_{N}(1)} & {h_{N - 1}(1)} & -- & 0 \\0 & {h_{N}(1)} & -- & 0 \\0 & 0 & -- & 0 \\| & | & -- & | \\0 & 0 & -- & {h_{2}(0)} \\0 & 0 & -- & {h_{1}(0)}\end{bmatrix} \cdot \begin{bmatrix}{d(0)} \\0 \\| \\0 \\0 \\{d(1)} \\0 \\0 \\| \\0 \\{d(2)} \\0 \\| \\0 \\0\end{bmatrix}} + n}} & \text{Equation 49b}\end{matrix}$

[0096] In general, the H^(˜) matrix for an N multiple is (N N_(S)) by (NN_(S)). The matrix H^(˜) is square, Toeplitz and approximately circulantand is of size 2N_(S) by 2N_(S). The zero forcing solution is perEquation 50, (100). $\begin{matrix}{{F\left( d^{\sim} \right)} = \frac{F(r)}{F\left( \left( H^{\sim} \right)_{1} \right)}} & {{Equation}\quad 50}\end{matrix}$

[0097] A column other than the first column may be used in an analogousFFT. Furthermore, since any column may be used, a column from theoriginal channel response matrix, H or an estimated expanded column ofthe H^(˜) derived from a column of H. Using every N^(th) value fromd^(˜), d is estimated. Using the appropriate codes, d is despread torecover the data, (102).

What is claimed is:
 1. A code division multiple access base station for use in receiving a plurality of data signals received over a shared spectrum, each received data signal experiencing a similar channel response, the base station comprising: means for receiving a combined signal of the received data signals over the shared spectrum; means for sampling the combined signal at a multiple of a chip rate of the received data signals; means for estimating a channel response for the combined signal at the multiple of the chip rate; means for determining a first element of a spread data vector using the combined signal samples and the estimated channel response; means for using a factor from the first element determination to determine remaining elements of the spread data vector; and means for estimating data of the data signals using the determined elements of the spread data vector.
 2. The base station of claim 1 wherein the factor is derived using the channel response.
 3. The base station of claim 1 wherein the multiple of the chip rate is N-multiple of the chip rate and the factor is v^(H) and a first element of each channel response matrix corresponding to each N-multiple of the chip rate is h₁(0), h₂(0) . . . h_(N)(0) and $v^{H} = {{\left\{ {\left\lbrack {{h_{1}(0)}\quad \ldots \quad {h_{N}(0)}} \right\rbrack \begin{bmatrix} {h_{1}(0)} \\ \vdots \\ {h_{N}(0)} \end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}\quad \ldots \quad {h_{N}(0)}} \right\rbrack}.}$


4. The base station of claim 3 wherein N is 2 and $v^{H}\left\{ {{\left\lbrack {{h_{1}(0)}{{h_{2}(0)}\begin{bmatrix} {h_{1}(0)} \\ {h_{2}(0)} \end{bmatrix}}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack}.} \right.$


5. The base station of claim 1 wherein the data estimating is by despreading the spread data vector.
 6. The base station of claim 1 wherein the factor is stored prior to the remaining elements determination.
 7. A code division multiple access base station for use in receiving a plurality of data signals received over a shared spectrum, each received data signal experiencing a similar channel response, the receiver comprising: an antenna for receiving a combined signal of the received data signals over the shared spectrum; a sampling device for sampling the combined signal at a multiple of a chip rate of the received data signals; a channel estimation device for estimating a channel response for the combined signal at the multiple of the chip rate; and a single user detection device for determining a first element of a spread data vector using the combined signal samples and the estimated channel response and for using a factor from the first element determination to determine remaining elements of the spread data vector; wherein data of the data signals is estimated from the spread data vector.
 8. The base station of claim 7 wherein the factor is derived using the channel response.
 9. The base station of claim 7 wherein the multiple of the chip rate is N-multiple of the chip rate and the factor is V^(H) and a first element of each channel response matrix corresponding to each N-multiple of the chip rate is h₁(0), h₂(0) . . . h_(N)(0) and $v^{H} = {{\left\{ {\left\lbrack {{h_{1}(0)}\quad \ldots \quad {h_{N}(0)}} \right\rbrack \begin{bmatrix} {h_{1}(0)} \\ \vdots \\ {h_{N}(0)} \end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}\quad \ldots \quad {h_{N}(0)}} \right\rbrack}.}$


10. The base station of claim 9 wherein N is 2 and $v^{H}\left\{ {{\left\lbrack {{h_{1}(0)}{{h_{2}(0)}\begin{bmatrix} {h_{1}(0)} \\ {h_{2}(0)} \end{bmatrix}}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack}.} \right.$


11. The base station of claim 7 wherein the data estimating is by despreading the spread data vector.
 12. The base station of claim 7 wherein the factor is stored prior to the remaining elements determination. 